package com.liuhouse1.config;

import com.liuhouse1.vo.Student;
import org.springframework.context.annotation.*;

/**
 * Configuration：表示当前类是xml配置文件的作用
 *  在这个类中有很多方法,方法的返回值是对象
 *  在方法上面加上@Bean,表示方法返回值的对象放入到容器中
 * @Bean == <bean></bean>
 *
 */

@Configuration
//导入资源【如果还想使用xml 的配置文件 那么就可以使用@ImportResource进行导入】
@ImportResource(value = {"classpath:applicationContext.xml" , "classpath:bean.xml"})
@PropertySource(value="classpath:config.properties")
//扫描组件 【后面要使用组件,就要对组件进行扫描】
@ComponentScan(value = "com.liuhouse1.vo")
public class SpringConfig {

    /**
     * 定义方法，方法返回值是对象
     * @Bean : 表示把对象注入到容器中
     * 位置 : 方法的上面
     * @Bean没有使用属性,默认的对象名称就是方法名称
     * @return
     */
    @Bean
    public Student createStudent(){
        Student student = new Student();
        student.setId(1);
        student.setAge(26);
        student.setName("liuhouse");
        return student;
    }


    //name : 指定对象的名称
    @Bean(name = "myStudent2")
    public Student createStudent02(){
        Student student = new Student(2,"最美的情缘",23);
        return student;
    }

}
